package process

import (
	"fmt"
	"os"
	"net"
	"manyuser/client/utils"
	"manyuser/common/message"
	"encoding/json"
)
//登入成功后
func ShowMeu() {
	for {
		fmt.Println("-------恭喜xxx登录成功---------")
		fmt.Println("-------1. 显示在线用户列表---------")
		fmt.Println("-------2. 发送消息---------")
		fmt.Println("-------3. 信息列表---------")
		fmt.Println("-------4. 退出系统---------")
		fmt.Println("请选择(1-4):")
		var key int
		fmt.Scanf("%d\n", &key)
		switch key {
		case 1:
			fmt.Println("显示在线用户列表")
			outputOnlineUser()
		case 2:
			fmt.Println("发送消息:")
			var content string
			fmt.Scanln(&content)
			(&SmsProcess{}).SendGroupMes(content)
		case 3:
			fmt.Println("信息列表")
		case 4:
			fmt.Println("退出系统")
			os.Exit(0)
		default:
			fmt.Println("输入不正确")
		}
	}
}
//保持和服务器通信
func serverProcessMes(conn net.Conn){
	tf:=&utils.Transfer{Conn:conn,}
	for{
		mes,err:=tf.ReadPkg()
		if err!=nil{
			fmt.Println("tf.ReadPkg() wrong,",err)
			return
		}
		
		switch mes.Type{
		case message.NotifyUserStatusMesType:
			var notifyUserStatusMes message.NotifyUserStatusMes
			json.Unmarshal([]byte(mes.Data),&notifyUserStatusMes)
			updateUserStatus(&notifyUserStatusMes)
		case message.SmsMesType:
			outputGroups(&mes)
		default:
			fmt.Println("server send unkonwn message")
		}
	}

}
